@charset "utf-8";
/*=============================================================
 base Setting
=============================================================*/
:root {
  --keyColor:#D42522;
  --linkColorvisited:#990099;
	--linkColor:#0072bf;
	--linkHoverColor:#0053d5;
	--contensWidth:1300px;
	--bothSides:4.8%;
	--spaceXL:120px;
	--spaceLL:80px;
	--spaceL:60px;
	--spaceM:30px;
	--spaceS:20px;
	--spaceSS:10px;
	--spaceTtl:48px;
	--bgColorLightBlue:#EFF5F7;
	--bgBdrLightBlue:#D3E0E5;
	--bdrColor:#ADB4B9;
}


/*=============================================================
 base Layout
=============================================================*/
/* a Element
--------------------------------------------------------------*/
a{
	color: var(--linkColor);
	text-decoration:none;
	font-weight: 500;
}
a.inline,
.link-arw a.inline{
	position: relative;
	display: inline;
	text-decoration:none;
	font-weight: 500;
	padding-bottom: .01em;
  background: linear-gradient(#0072bf, #0072bf) 0 100%/100% 1px no-repeat;
}

a.inline:hover,
.link-arw a.inline:hover{
	background-size: 0 1px;
  animation: inlineAnime .6s ease-out forwards;
}
@keyframes inlineAnime {
  0% {background-size: 0 1px;background-position: left bottom;background-image: linear-gradient(90deg, #0072bf, #0072bf); }
  100% {background-size: 100% 1px;background-position: left bottom;background-image: linear-gradient(90deg, #0072bf, #0072bf); }
}
a:visited{color: var(--linkColorvisited);}
a:hover{
	color: var(--linkColor);
	text-decoration:none;
}
a.inline:hover{text-decoration:none;}
*:focus {outline: 2px solid #4A90E2;}
*:focus:not(:focus-visible) {outline: none;}
*:focus-visible {outline: 2px solid #4A90E2;}

/* container
--------------------------------------------------------------*/
#container{
	overflow:hidden;
}
body,
#container{
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
/* pageBody
-------------------------------------------------------------*/
#pageBody{
	padding-top:102.391px;/*描画時のヘッダーの高さ用*/
}
/* contentsArea
-------------------------------------------------------------*/
#contentsArea{}
.setLocalMenu{
	display: flex;
	align-items: flex-start;
}

/* contents
-------------------------------------------------------------*/
#contents{
	line-height:1.85;
	margin-top:50px;
	padding-bottom:100px;
}
#contents p + p{margin-top: 1em;}
.setLocalMenu #contents{
	width:72.31%;
}

/* contentsInner
-------------------------------------------------------------*/
.contentsInner{
	max-width: var(--contensWidth);
	margin:0 auto;
	padding:0 var(--bothSides);
	box-sizing: inherit;
}
/* space
-------------------------------------------------------------*/
.spaceLT{margin-top: var(--spaceL);}
.spaceMT{margin-top: var(--spaceM);}
.spaceST{margin-top: var(--spaceS);}
.spaceSS{margin-top: var(--spaceSS);}

/* marAuto
-------------------------------------------------------------*/
.marAuto{
	margin: 0 auto;
}

/* section
-------------------------------------------------------------*/
section + section,
.section + .section,
section + .section
.section + section{margin-top: var(--spaceLL);}
section>section + section{margin-top: var(--spaceL);}

#ir.library section + section{margin-top: var(--spaceLL);}
#ir.library section>section + section{margin-top: var(--spaceLL);}

/* topicPath
-------------------------------------------------------------*/
#topicPathArea{
	color:#666;
	font-weight: 700;
	padding: 12px 0 18px;
}
#topicPathArea a{
	color:#666;
	font-weight: 400;
	padding-bottom: 2px;
	box-sizing: border-box;
	position: relative;
}
#topicPathArea a::after{
	content: '';
	height: 1px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: all .3s;
}
#topicPathArea a:hover::after{
	background-color: #666;
	height: 1px;
	transform: scale(1, 1);
}
#topicPathArea .contentsInner{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}
/* topicPath */
#topicPath{
	font-size:1.4rem;
	display:flex;
	flex-wrap:wrap;
	margin-right:auto;
}
#topicPath li{
	margin:5px 6px 0 0;
	line-height:1.1em;
}
#topicPath li:not(:first-child)::before{
	content:'/';
	padding-right:5px;
}
/* link */
#topicPath+*{
	display:flex;
	flex-wrap:wrap;
	margin-left:auto;
}
#topicPath+* li{margin:5px 0 0 10px;}

/*=============================================================
 localMenu
=============================================================*/
#localMenu{
	width:100%;
	max-width:288px;
	flex-shrink:0;
	margin:50px 0 100px 5.54%;
}
/* lm-categoryTtl
-------------------------------------------------------------*/
.lm-categoryTtl{
	font-size:18px;
	line-height:1.15;
	font-weight:700;
	position: relative;
	border-bottom: 1px solid #222;
}
.lm-categoryTtl:after{
	content: '';
	height: 4px;
	width: 100%;
	position: absolute;
	background: linear-gradient(90deg, #1acbff 0%, #0072bf 100%);
	top: 0;
	left: 0;
	right: 0;
}
.lm-categoryTtl>a,
.lm-categoryTtl>span{
	color: #222;
	text-decoration:none;
	display:block;
	padding:20px 10px 19px;
}
.lm-categoryTtl>a:hover{text-decoration: underline;}



/* lm-list
-------------------------------------------------------------*/
.lm-list{line-height:1.4;}
.lm-list li{border-bottom:1px dotted #ccc;}
.lm-list a{
	color:#222;
	text-decoration:none;
	display:block;
	padding:14px 24px 13px 10px;
	position:relative;
}
#localMenu .lm-list a.arw::after{
	content: '';
	background: url("/eng/shared/img/local-menu-arw.svg") center center no-repeat;
	background-size: 11.63px 15.09px;
	width: 11.63px;
	height: 15.09px;
	position: absolute;
	right: 10px;
	top: calc((50% - 7px));
}
.lm-list .box-toggle a{padding:14px 36px 13px 10px;}
.lm-list a:hover{
	text-decoration: underline;
	text-underline-offset:.3em;
}
.lm-list .act>a{
	color:var(--linkColor);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset:.3em;
	/*pointer-events: none;	*/
}
.lm-list .open>a{font-weight: 700;}
.lm-list ul{display:none;}
.lm-list .open>ul{display:block;}
.lm-list li li a{padding-left:24px!important;}
.lm-list li li{
	position: relative;
	border-bottom:none;
}
.lm-list li li::after{
	content: '';
	height: 1px;
	position: absolute;
	top: 0;
	left: 24px;
	right: 0;
	border-top:1px dotted #ccc;
}

.lm-list li li li,
.lm-list li li li li{border-top:none;}
.lm-list li li li::after{left: 38px!important;}
.lm-list li li li a{padding-left: 38px!important;}
.lm-list li li li li::after{left: 52px!important;}
.lm-list li li li li a{padding-left: 52px!important;}

#ir #localMenu .subNav{margin-top: 46px;}
#ir #localMenu .subNav a{color: #222;}
#ir #localMenu .subNav a:hover{
	text-decoration: underline;
}
#ir #localMenu .subNav>* + *{margin-top: 20px;}
#sustainability #localMenu .lm-Img{margin: 30px 0 0;}
#sustainability #localMenu .lm-Img li + li{margin-bottom: 10px;}
#sustainability #localMenu .lm-Img a{
	display: flex;
	align-items: center;
	column-gap: 8px;
	background: none;
	height: 70px;
	min-height: 60px;
	position: relative;
}
#sustainability #localMenu .lm-Img a::before {
	content: '';
	position: absolute;
	top: inherit;
	bottom: 0;
	right: 0;
	height: 1px;
	width: calc((100% - 75px));
	background: linear-gradient(#ccc, #ccc) 0 100%/100% 1px no-repeat;
	transition: background .6s;
}
#sustainability #localMenu .lm-Img a::after {
	content: '';
	position: absolute;
	top: inherit;
	bottom: 0;
	right: 0;
	height: 1px;
	width: calc((100% - 75px));
	background: linear-gradient(#0064B6, #0064B6) 0 100%/0 1px no-repeat;
	transition: background .6s;
}
#sustainability #localMenu .lm-Img a:hover::after{background-size: 100% 1px;}
#sustainability #localMenu .lm-Img span:first-child{
	width: 70px;
	overflow: hidden;
}
#sustainability #localMenu .lm-Img span:first-child img {
	width: auto;
	max-width: none;
	height: 70px;
}
#sustainability #localMenu .lm-Img li:last-child span:first-child img {margin-left: 0;}
#sustainability #localMenu .lm-Img span:last-child {
	display: block;
	position: relative;
	width: calc((100% - 103px));
	color: #222;
	font-size: 14px;
	line-height: 1.5;
}
#sustainability #localMenu .lm-Img span:last-child::after {
	content: "";
	background: url(/shared/img/gb-arw.svg) center center no-repeat;
	background-size: 12px 11px;
	width: 12px;
	height: 11px;
	position: absolute;
	top: 50%;
	right: -16px;
	transition: all .6s;
	margin-top: -5px;
}
#sustainability #localMenu .lm-Img a:hover span:last-child::after {right: -24px;}


/*=============================================================
 text
=============================================================*/
/* base setting
-------------------------------------------------------------*/
[class^="ttl-"]{
	position: relative;
	padding-top:.5em;
	margin-bottom: 26px;
}
[class^="ttl-"] + [class^="ttl-"]{margin-top: var(--spaceM);}
.ttl-h1::after, .ttl-h2::after{
	content: '';
	height: 2px;
	width: 100%;
	position: absolute;
	background: linear-gradient(90deg, #1acbff 0%, #0072bf 100%);
	top:0;
	left: 0;
	right: 0;
}

/* ttl-h1
-------------------------------------------------------------*/
.ttl-h1{
	font-size: calc(2.4rem + (48 - 24) * ((100vw - 768px) / (1300 - 768)));
	font-weight: 700;
	line-height: 1.4;
}
.ttl-h1::after{height: 4px;}
	@media screen and (min-width: 1300px) {
	 .ttl-h1 {font-size: 4.8rem;}
	}
.ttl-h1  + [class^="col-"],
.ttl-h1 + p{margin-top: var(--spaceLL);}

/* ttl-h2
-------------------------------------------------------------*/
.ttl-h2{
	font-size: calc(2.2rem + (32 - 22) * ((100vw - 768px) / (1300 - 768)));
	font-weight: 500;
	line-height: 1.4;
	/*margin-top: var(--spaceL);*/
}
.ttl-h2.indent{
	padding-left:1.2em;
	text-indent:-1.2em;
}
	@media screen and (min-width: 1300px) {
	 .ttl-h2 {font-size: 3.2rem;}
	}

/* ttl-h3
-------------------------------------------------------------*/
.ttl-h3{
	font-size: calc(2.0rem + (24 - 20) * ((100vw - 768px) / (1300 - 768)));
	font-weight: 500;
	line-height: 1.4;
	margin-top: var(--spaceL);
}
	@media screen and (min-width: 1300px) {
	 .ttl-h3 {font-size: 2.4rem;}
	}

.ttl-h3::after{
	content: '';
	height: 2px;
	width: 80px;
	position: absolute;
	background: linear-gradient(90deg, #1acbff 0%, #0072bf 100%);
	top:0;
	left: 0;
}
.ttl-h2 + .ttl-h3{margin-top: var(--spaceTtl)!important;}

/* ttl-h4
-------------------------------------------------------------*/
.ttl-h4{
	font-size: calc(2.0rem + (20 - 19) * ((100vw - 768px) / (1300 - 768)));
	font-weight: 500;
	line-height: 1.6;
	margin-top: var(--spaceS);
	padding-left: 36px;
	box-sizing: border-box;
}
	@media screen and (min-width: 1300px) {
	 .ttl-h4 {font-size: 2.0rem;}
	}

.ttl-h4::after{
	content: '';
	height: 2px;
	width: 24px;
	position: absolute;
	background: linear-gradient(90deg, #1acbff 0%, #0072bf 100%);
	top:50%;
	margin-top: 4px;
	left: 0;
}
/* ttl-h5
-------------------------------------------------------------*/
.ttl-h5{
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
	margin-top: var(--spaceM);
}

/* lead
-------------------------------------------------------------*/
.lead{
	font-size: calc(1.6rem + (2.6 - 1.6) * ((100vw - 768px) / (1300 - 768)));
	font-size: 2.0rem;
	font-weight: 500;
}
	@media screen and (min-width: 1300px) {
	 .lead {font-size: 2.4rem;}
	}
/* figcaption
--------------------------------------------------------------*/
figure figcaption,
.figcaption{
	font-size:1.4rem;
	line-height:1.6;
	display:block;
	padding-top:8px;
}
figcaption.ttl{
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 10px;
}
/* profile-name
--------------------------------------------------------------*/
p + .profile-name{margin-top: 40px!important;}
.profile-name>span{
	font-size: 1.8rem;
	font-weight: 700;
}
.profile-name>.nameImg{display: block;}

/* atn
--------------------------------------------------------------*/
.text-atn,
.text-atnNum{
	font-size:1.4rem;
	line-height:1.6;
	margin-top: var(--spaceS);
}
.text-atn span:first-child,
.text-atnNum span:first-child{font-weight: 500;}
.text-atn:not(ul):not(ol),
.text-atn li{
	text-indent:-1.5em;
	margin-left:1.5em;
}
.text-atnNum:not(ul):not(ol),
.text-atnNum li{
	text-indent:-2em;
	margin-left:2em;
}

/*=============================================================
 list
=============================================================*/
[class^="list-"]{
	line-height:1.4;
	margin-top:20px;
	margin-top: 0!important;
}

/* list-circle
-------------------------------------------------------------*/
.list-normal{}
.list-normal>*{padding: 1px 0;}

/* list-alp
-------------------------------------------------------------*/
.list-alp{
  margin-left:1.5em;
}
.list-alp>li{
  text-indent:0;
  list-style:lower-alpha;
}

/* list-roman
-------------------------------------------------------------*/
.list-roman{
  margin-left:1em;
}
.list-roman>li{
  text-indent:0;
  list-style:lower-roman;
}
/* list-circle
-------------------------------------------------------------*/
.list-circle{}
.list-circle>li{
	padding-left:1.2em;
	margin-top:0.6em;
	position:relative;
}
.list-circle>li:first-child{margin-top: 0;}
.list-circle>li::before{
	content:"";
	background:#757575;
	display:block;
	width:0.6em;
	height:0.6em;
	border-radius:100%;
	position:absolute;
	top:.5em;
	left:0;
}

p + .list-circle{margin-top: var(--spaceM)!important;}

/* list-dot
-------------------------------------------------------------*/
.list-dot>li{
	text-indent:0;
	padding-left:1em;
	position:relative;
}
.list-dot>li::before{
	content:"";
	background:#333;
	display:block;
	width:4px;
	height:4px;
	position:absolute;
	top:0.65em;
	left:0.2em;
	border-radius:4px;
}
.list-dot>li + li{margin-top: 10px;}

/* list-num
-------------------------------------------------------------*/
/*.list-num{margin-left:1.4em;}*/
/*.list-num>li{
	list-style-type:none;
	counter-increment:cnt;
	margin-top:0.6em;
}
.list-num>li::before{
	content: counter(cnt) ".";
	display:inline-block;
	width:1.4em; 
	margin-left:-1.4em; 
}*/
/* list-num */
.list-num{
	margin-left:2em;
	margin-top: var(--spaceM)!important;
}
.list-num>li{
	text-indent:0;
	line-height: 1.85;
	list-style-type:decimal;
}
.list-num li + li{margin-top: var(--spaceM)!important;}
.list-num.num-en li + li{margin-top: 5px!important;}
.mrT06 li + li{margin-top:0.6em!important;}
.list-num.notMT li + li{margin-top: 0!important;}
.list-num.cnt{margin-top:  var(--spaceSS)!important;}
.list-num.cnt li {
	list-style-type: none;
	counter-increment: cnt;
}
.list-num.cnt li::before {
	content: "(" counter(cnt) ") ";
	display: inline-block;
	margin-left: -1.6em;
	width: 1.6em;
}
.list-num.cnt li + li{margin-top: var(--spaceSS)!important;}
.list-alp{
  margin-left:1.5em;
}
.list-roman{
  margin-left:1em;
}
.list-alp>li{
  text-indent:0;
  list-style:lower-alpha;
}
.list-roman>li{
  text-indent:0;
  list-style:lower-roman;
}
/*=====================================================================
 col
=====================================================================*/
/* base setting
-------------------------------------------------------------*/
[class^="col-"]+[class^="col-"]{margin-top: var(--spaceL);}	
[class^="col-"]{
	display:flex;
	flex-wrap:wrap; 
	column-gap: 5%
}
[class^="col-"]>*{
	box-sizing:border-box;
	margin-top: var(--spaceM);
}
.col-2>*:nth-child(-n+2), .col-3>*:nth-child(-n+3), .col-4>*:nth-child(-n+4){margin-top: 0;}
.col-2>*{width:calc((99.9999% - 5%) / 2);}
.col-3>*{width:calc((99.9999% - 10%) / 3);}
.col-4>*{width:calc((99.9999% - 15%) / 4);}

.col-3.linkBtn-area{column-gap: 3%}
.col-3.linkBtn-area>*{
	width:calc((99.9999% - 6%) / 3);
	margin-top: 3.2%;
}

/* col-clm
-------------------------------------------------------------*/
.col-2.col-clm2-1>*:nth-child(odd),
.col-2.col-clm1-2>*:nth-child(even){width:calc((100% - 10%) / 3 * 2 + 5%);}
.col-2.col-clm2-1>*:nth-child(even),
.col-2.col-clm1-2>*:nth-child(odd){width:calc((100% - 10%) / 3);}
.col-2.col-clm3-1>*:nth-child(odd),
.col-2.col-clm1-3>*:nth-child(even){width:calc((100% - 15%) / 4 * 3 + 10%);}
.col-2.col-clm3-1>*:nth-child(even),
.col-2.col-clm1-3>*:nth-child(odd){width:calc((100% - 15%) / 4);}
[class^="col-"].flx-row-re {flex-direction: row-reverse;}
[class^="col-"] .flx-order-1{order: 1;}
[class^="col-"] .flx-order-2{order: 2;}

/* col-date
-------------------------------------------------------------*/
.col-2.col-date{
	column-gap: 20px;
	font-weight: 500;
}
.col-2.col-date>*:first-child{width: 130px;}
.col-2.col-date>*:last-child{width: calc((100% - 150px));}
.col-2.col-date + .col-date{margin-top: var(--spaceM);}

/* col-ir-libray
-------------------------------------------------------------*/
.col-2.col-ir-libray{
	column-gap: 20px;
	font-weight: 500;
	flex-wrap: wrap;
}
.col-2.col-ir-libray>*:nth-child(n+3){margin-top: var(--spaceS);}
.col-2.col-ir-libray dt{width: 25%;}
.col-2.col-ir-libray dd{width: calc((75% - 20px));}
.col-2.col-ir-libray p + .link-arw{margin-top: 10px;}

/* col-adress
-------------------------------------------------------------*/
.col-2.col-adress{
	column-gap: 20px;
	font-weight: 500;
	flex-wrap: wrap;
}
.col-2.col-adress dt{
	font-size: 1.8rem;
	font-weight: 700;
	width: 20%;
}
.col-2.col-adress dd{width: calc((80% - 20px));}


/*=====================================================================
 link
=====================================================================*/
/* base setting
-------------------------------------------------------------*/
.link-btn-door>*,
.link-btn-normal>*{
	display: flex;
	/*flex: 1 0 auto;*/
}
.link-btn-door a,
.link-btn-normal a{
	border: 1px solid #0072bf;
	color: #222;
	font-weight: 700;
	line-height: 1.6;
	padding: 20px 56px 20px 20px;
	box-sizing: border-box;
	transition: all .3s;
	position: relative;
}
.link-btn-normal.back-btn a{padding: 20px 20px 20px 56px;}
.link-btn-normal.bg-white a{background-color: #fff;}
.link-btn-door a span,
.link-btn-normal a span{
	display: block;
	position: relative;
	font-weight: 600;
	line-height: 1.3;
	box-sizing: border-box;
	padding: 3px 0 3px 0;
}
.link-btn-door a:hover,
.link-btn-normal a:hover{background: #fff;}
.link-btn-door a:visited,
.link-btn-normal a:visited{color: var(--linkColorvisited);}
.link-btn-door a:visited p,
.link-btn-normal a:visited p{color: #222;}
.link-btn-door a:hover::after,
.link-btn-normal a:hover::after{right: 17px;}
.link-btn-normal.back-btn:hover a::after{left: 17px;right: inherit;}
.link-btn-door a span + p,
.link-btn-normal a span + p{margin-top: 8px;}
p.link-btn-door + p,
p.link-btn-normal + p
.link-btn-door>li,
.link-btn-normal>li{margin-top: 1.6em!important;}
.link-en{word-break: break-all;}

/* link-btn
-------------------------------------------------------------*/
.link-btn-normal{}
.link-btn-normal>*{flex: 0 0 auto;}
.link-btn-normal a{
	border-radius: 40px;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	height: auto;
}
.link-btn-normal a>*{width: auto;}
.link-btn-normal a::after{
	content: '';
	background: url("../img/icon-arw-button.svg") center center no-repeat;
	background-size: 24px 24px;
	width: 24px;
	height: 24px;
	position: absolute;
	top: calc(50% - 12px);
	right: 20px;
	transition: all .1s;
}
.link-btn-normal a.link-blank::after{content: none;}
.link-btn-normal a.link-blank span,
.link-btn-normal a.link-blank span img{display: inline;}
.link-btn-normal.back-btn a::after{
	transform: rotate(180deg);
	right: inherit;
	left: 20px;
}
.link-btn-normal a span::before{right: 0;}
.link-btn-normal a:hover span::after{right: -39px;}

.link-btn-normal a:hover{background: var(--bgColorLightBlue);}

/* white */
.link-btn-normal.white a{
	color: #fff;
	border: 1px solid #fff;
}
.link-btn-normal.white a::after{
	background: url("../img/icon-arw-button-w.svg") center center no-repeat;
	background-size: 24px 24px;
}
.link-btn-normal.white a:hover{
	color: #222;
}
.link-btn-normal.white a:hover::after{
	background: url("../img/icon-arw-button.svg") center center no-repeat;
	background-size: 24px 24px;
}

/* red */
.link-btn-normal.red a{
	color: #fff;
	background-color: var(--keyColor);
	border: 1px solid var(--keyColor);
	font-size: 2.0rem;
	border-radius: 50px;
}
.link-btn-normal.red a::after{
	background: url("../img/icon-arw-button-w.svg") center center no-repeat;
	background-size: 24px 24px;
}
.link-btn-normal.red a:hover{
	color: var(--keyColor);
	background-color: #fff;
}
.link-btn-normal.red a:hover::after{
	background: url("../img/icon-arw-button-r.svg") center center no-repeat;
	background-size: 24px 24px;
}

/* link-btn-door
-------------------------------------------------------------*/
.link-btn-door{align-items: stretch;}
.link-btn-door>li{
	flex-direction: column;
	align-items: center;
}
.link-btn-door a{
	/*display: block;*/
	width: 100%;
	border-radius: 5px;
	background-color: var(--bgColorLightBlue);
	
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
}
.link-btn-door a::after{
	content: '';
	background: url("../img/icon-arw-button.svg") center center no-repeat;
	background-size: 24px 24px;
	width: 24px;
	height: 24px;
	position: absolute;
	top: calc(50% - 12px);
	right: 20px;
	transition: all .1s;
}
.link-btn-door a span{font-size: 2.0rem;}
.link-btn-door a span::after{}



/* link-ac
-------------------------------------------------------------*/
.link-ac{
	display: flex;
	flex-wrap: wrap;
	column-gap: 50px;
	align-items: flex-start;
}
.link-ac>*{
	padding: 3px 20px 3px 0;
	position: relative;
}
.link-ac>*::after{
	content: '';
	background: url("../img/icon-ac.svg") center center no-repeat;
	background-size: 16px 16px;
	width: 16px;
	height: 16px;
	position: absolute;
	top: calc(50% - 8px);
	right: 0;
	transition: all .1s;
}
.link-ac>*:hover::after{top: calc(50% - 5px);}


.link-ac a{
	display: inline;
	line-height: 1.4;
	box-sizing: border-box;
	color: #222;
	position: relative;
	padding: 3px 0 3px 0;
	
  /*background: linear-gradient(#222, #222) 0 100%/0 1px no-repeat;*/
	background: linear-gradient(#0072bf, #0072bf) 0 100%/0 1px no-repeat;
  transition: background .6s;
  text-decoration: none;
}
.link-ac a:hover{
	background-size: 100% 1px;
}
/* link-arw
-------------------------------------------------------------*/
.link-arw>* + *{margin-top: 10px;}
.link-arw a, a.link-arw{
	line-height: 1.4;
	display: inline;
	padding: 2px 0 2px 0;
	position: relative;
  background: linear-gradient(#0072bf, #0072bf) 0 100%/0 1px no-repeat;
  transition: background .6s;
  text-decoration: none;
	margin-bottom: 3px;
}
.link-arw a:hover, a:hover.link-arw{background-size: 100% 1px;}
.link-arw a:not(.link-blank)::after, a.link-arw:not(.link-blank)::after{
	content:"";
	background: url("../img/icon-arw.svg") center center no-repeat;
	background-size: 8px 11px;
	width: 11px;
	height: 8px;
	position: absolute;
	bottom: 0.5em;
	right: -20px;
	transition: all .1s;
}
.link-arw a:hover::after,
a.link-arw:hover::after{right: -23px;}

.link-arw.alignR{
	box-sizing: border-box;
	padding-right: 20px;
	margin-top: 20px;
}
/* list-flow */
.list-flow{
	margin-right:-15px;
	margin-left:-15px;
}
.list-flow>li{
	display:inline-block;
	margin-right:40px;
	margin-left:15px;
}

/* link-icon
-------------------------------------------------------------*/
.link-icon img{
	width: 14px;
	height: 19px;
	margin: 0 5px 0 3px;
	vertical-align: -3px;
}

/* link-blank
-------------------------------------------------------------*/
.link-blank{padding-right: 0!important;}
.link-blank img{
	width: 23px;
	height: 13px;
	margin: 0 6px;
	vertical-align: 0;
	transition: all .3s;
}
a.link-blank:hover{background-size: calc(100% - 35px) 1px;}
a.link-blank:hover img {
  content: url('/shared/img/icon-blank-o.svg');
}

/*=============================================================
 thum-area
=============================================================*/
.thum-area a{
	display: flex;
	flex-direction: column;
	height: 100%;
	color: #fff;
	overflow: hidden;
	border-radius: 10px;
	transition: background .6s;
}
.thum-area a img{width: 100%;}
.thum-area a .thum-box{overflow: hidden;}
.thum-area a .thum-box .thum-inner{transition: all .3s ease;}
.thum-area a:hover .thum-box .thum-inner{transform: scale(1.2);}
.thum-area a .thum-link-ttl{
	flex: 1;
	background-color: var(--linkColor);
	position: relative;
	font-size: calc(1.6rem + (22 - 16) * ((100vw - 768px) / (1300 - 768)));
	line-height: 1.2;
	padding: 20px 50px 20px 20px;
	box-sizing: border-box;
}
.ttl-h1::after{height: 4px;}
	@media screen and (min-width: 1300px) {
	 .thum-area a .thum-link-ttl{font-size: 2.2rem;}
	}

.thum-area a .thum-link-ttl::after{
	content: '';
	background: url("/eng/shared/img/icon-arwS.svg") center center no-repeat;
	background-size: 24px 24px;
	width: 24px;
	height: 24px;
	position: absolute;
	bottom:20px;
	right: 20px;
  transition: all .1s;
}
#showcase-area .thum-area a .thum-link-ttl::after{
	content: '';
	background: url("/shared/img/icon-arw-button.svg") center center no-repeat;
	background-size: 24px 24px;
	width: 24px;
	height: 24px;
}
.thum-area a:hover .thum-link-ttl::after{right: 15px;}
.thum-area .textSizeS{
	display: block;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1.5;
	margin-top: 5px;
}

/*=====================================================================
 box-color
=====================================================================*/
/* base setting
-------------------------------------------------------------*/
[class^="box-color"] + [class^="box-bdr"]{margin-top: var(--spaceM);}
[class^="box-color"],[class^="box-bdr"]{
	padding: 30px;
	box-sizing: border-box;
}	
[class^="box-color"].full-left-box{padding-left: 0;}
[class^="box-color"] .ttl{
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	margin-bottom: var(--spaceM);
}

p + [class^="box-color"]{margin-top: var(--spaceM);}
[class^="box-color"] img.bdr{border: 1px solid #ccc;}
/* box-colorA
-------------------------------------------------------------*/
.box-colorA{background-color: var(--bgColorLightBlue);}

/* box-colorB
-------------------------------------------------------------*/
.box-colorB{background-color: var(--bgBdrLightBlue);}

/* box-colorC
-------------------------------------------------------------*/
.box-colorC{background-color: #0072bf;}

/* box-colorD
-------------------------------------------------------------*/
.box-colorD{background-color: #EFFDFF;}

/* box-pdf
-------------------------------------------------------------*/
.box-pdf{
	font-size: 1.4rem;
	line-height: 1.6;
	box-sizing: border-box;
	display: table;
	width: 100%;
	margin-top: 25px;
	padding: 20px;
}
.box-pdf>*{
	display: table-cell;
	vertical-align: middle;
}
.box-pdf .bnr {
	text-align: right;
	padding-left: 30px;
}

/* contact-box-bdr-col
-------------------------------------------------------------*/
.contact-box-bdr-col{
	display: flex;
    flex-wrap: wrap;
    position: relative;
    margin-top: 60px;
}
.contact-box-bdr-col>*{width: calc((100% - 30px) / 2);}
.contact-box-bdr-col>*:first-child {
    padding-right: 20px;
    box-sizing: border-box;
}
.contact-box-bdr-col .link-btn-normal{text-align: center;}
.contact-box-bdr-col .link-btn-normal::after{
	content: '';
	width: 1px;
	background: var(--bdrColor);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}
.contact-box-bdr-col .link-btn-normal {
    position: relative;
    height: 100%;
    align-items: center;
    display: flex;
    justify-content: center;
}
.box-colorD.box-library{
	position: relative;
	padding-top: 0!important;
}
.box-colorD.box-library::after{
	content: '';
	height: 2px;
	width: 100%;
	position: absolute;
	background: linear-gradient(90deg, #1acbff 0%, #0072bf 100%);
	top: 0;
	left: 0;
	right: 0;
}
/* box-bdrA
-------------------------------------------------------------*/
.box-bdrA{border: 1px solid var(--bgBdrLightBlue);}

/* full-left-box
-------------------------------------------------------------*/
.full-left-box{
	position: relative;
	z-index: 1;
}
.full-left-box::before{
	content: "";
	position: absolute;
	top: 0;
	left: -100vw;
	width: calc(100vw + 100%);
	height: 100%;
	background-color: var(--bgColorLightBlue);;
	z-index: -1;
}

/*=============================================================
 table
=============================================================*/
/* table-default 
-------------------------------------------------------------*/
.table-default{
	width:100%;
	border-collapse:collapse;
}
.table-default.ulmT0 .list-circle li:first-child{margin-top: 0;}
.table-default th,
.table-default td{
	background-color:#fff;
	padding:12px 16px;
	border-right:1px solid var(--bdrColor);
	border-bottom:1px solid var(--bdrColor);
	border-left:1px solid var(--bdrColor);
	line-height: 1.5;
}
.table-default.pdS th{padding:10px 4px;}
.table-default{border-top: 1px solid var(--bdrColor);}
.table-default th{font-weight:600;}
.table-default th:first-child,
.table-default td:first-child{border-left:none;}
.table-default th:last-child,
.table-default td:last-child{border-right:none;}
.table-default thead th{text-align:center;}
.table-default thead th{background-color:var(--bgBdrLightBlue);}
.table-default tbody th.subTtl{background-color:var(--bgColorLightBlue);}
.table-default th.ttl{background-color:var(--bgBdrLightBlue);}
.table-default .bdrR{border-right: 1px solid var(--bdrColor)!important;}
.table-default .bdrL{border-left: 1px solid var(--bdrColor)!important;}
.table-default .bgPink{
	color: #222;
	background: #FDF4F3!important;	
}
.table-default .bgHighlite{
	color: #222;
	background: #EFF5F7!important;	
}
.table-default .bg,
.table-default .bg01,
.table-default .bg th,
.table-default .bg td{background-color:#f5f5f5;}
.table-default .bg02{background-color:var(--bgColorLightBlue);}
.sp-table-scroll .table-caption{
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 10px;
	text-align: left;
	display: flex;
	justify-content: space-between;
}
.sp-table-scroll .table-caption>span{display: block;}
.sp-table-scroll .table-caption .unit{
	font-size: 1.6rem;
	font-weight: normal;
}
.sp-table-unit{
	text-align: right;
	margin-bottom: 10px;
}
/* table-normal
--------------------------------------------------------------*/
.table-default.table-normal th,
.table-default.table-normal td{
	padding:18px 0px;
	vertical-align: top;
	border-right: none;
	border-left: none;
}
.table-default.table-normal td{padding-left: 20px;}

/* sp-
--------------------------------------------------------------*/
.sp-table-scroll,.sp-table-block{}

.sp-table-scroll + .text-atn,
.table-default + .text-atn{margin-top: 10px;}

/*=============================================================
 toggle
=============================================================*/
/* box-toggle
--------------------------------------------------------------*/
.box-toggle{position: relative;}
.box-toggle::after{
	content: '';
	height: 2px;
	background: var(--bdrColor);
	position: absolute;
	opacity: .5;
	top: 0;
	left: 0;
	right: 0;
	transition: all .3s;
}
.box-toggle.open::after{
	opacity: 1;
	background: linear-gradient(90deg, #1acbff 0%, #0072bf 100%)
}
.lm-list .box-toggle::after{content: none;}
.box-toggle+.box-toggle{margin-top:var(--spaceM);}
.box-toggle .toggle-btn,
.box-toggle .toggle-close{transition:.3s;}
.box-toggle>.toggle-btn{
	font-size:1.8rem;
	line-height:1.4;
	font-weight:500;
	box-sizing:border-box;
	display:table;
	width:100%;
	position:relative;
}
.lm-list .box-toggle>.toggle-btn{
	font-size:1.6rem;
	position: absolute;
	height: 49px;
	width: 40px;
	background-color: transparent!important;
	right: 0;
	top: 0;
	border: none;
}
.lm-list .box-toggle>.toggle-btn:after, .lm-list .box-toggle>.toggle-btn:before{right: 10px;}
.box-toggle>.toggle-btn>span{
	box-sizing:border-box;
	display:table-cell;
	vertical-align:middle;
	height:59px;
	padding:10px 60px 10px 14px;
	position: relative;
}
.box-toggle>.toggle-btn>span::after{
	content:"";
	display: block;
	border: 2px solid var(--linkColor);
	border-radius: 100%;
	width: 32px;
	height: 32px;
	position: absolute;
	right: 11px;
	top: 50%;
	margin-top: -16px;
}
.box-toggle>.toggle-btn:after,
.box-toggle>.toggle-btn:before{
	content:"";
	background-color:var(--linkColor);
	display:block;
	width:17px;
	height:2px;
	margin-top:0px;
	position:absolute;
	top:50%;
	right:20px;
	transition:all 0.3s ease;
}
.box-toggle>.toggle-btn:after{transform:rotate(90deg);}
.box-toggle.open>.toggle-btn:after{transform:rotate(0);}
.box-toggle>.toggle-box{display:none;}
.box-toggle.open>.toggle-btn,
.box-toggle>.toggle-btn:hover{background-color: var(--bgColorLightBlue);}
.box-toggle.open>.toggle-box{
	display:block;
	padding:26px 14px;
	background-color: var(--bgColorLightBlue);
}
.lm-list .box-toggle.open>.toggle-box{
	padding:0;
	background-color: transparent!important;
}



/*=============================================================
 tab
=============================================================*/
/* tab-set
--------------------------------------------------------------*/
.tab-set{}

/* tab-btn */
.tab-btn{
	line-height:1.25;
	font-size:100%;
	display:flex;
	column-gap: 17px;
	flex-wrap:nowrap;
	margin-bottom:20px;
	padding-left: 17px;
	box-sizing: border-box;
}
.tab-btn>li{
	box-sizing:border-box;
	min-height:30px;
	position: relative;
	margin: 5px 0;
}
.tab-btn>li:last-child::before{
	content: '';
	width: 1px;
	background-color: #222;
	position: absolute;
	top: 7px;
	bottom: 6px;
	right: -8px;
}
.tab-btn>li::after{
	content: '';
	width: 1px;
	background-color: #222;
	position: absolute;
	top: 7px;
	bottom: 6px;
	left: -8px;
}
.tab-btn a{
	color:#222;
	line-height: 1.4;
	font-weight: 400;
	display:table;
	width:100%;
	height:100%;
	box-sizing:border-box;
	text-decoration:none;
	transition: all .6s;
	position: relative;
	
	padding-bottom: .25em;
  background: linear-gradient(#0072bf, #0072bf) 0 100%/0 2px no-repeat;
	background-position-x:10px;
}

/*.tab-btn a::after{
	content: '';
	height: 2px;
	width: calc((100% - 17px));
	background-color: #fff;
	position: absolute;
	left: 8px;
	right: 0;
	bottom: 0;
	background: #fff;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: all .3s;
}
.tab-btn a.act::after,
.tab-btn a:hover::after{
	background-color: var(--linkColor);
	transform: scale(1, 1);
}*/
.tab-btn a.act,
.tab-btn a:hover{
	color:#222;
	background-size: calc(100% - 20px) 2px;
}


.tab-btn a.act{
	color: var(--linkColor);
	font-weight: 500;
}
.tab-btn a>span{
	display:table-cell;
	text-align:center;
	vertical-align:middle;
	padding:0 10px;
}
/* tab-panel */
.tab-set .tab-panel{display:none;}
.tab-set .tab-panel.act{display:block;}

/*=============================================================
 contactArea
=============================================================*/
.contactArea .ttl{
	color: var(--keyColor);
	line-height: 1.4;
	font-weight: 700;
	font-size: calc(3.0rem + (32 - 30) * ((100vw - 768px) / (1300 - 768)));
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 0;
}
.contactArea .ttl::after{
	content: '';
	height: 1px;
	background-color: var(--bdrColor);
	position: absolute;
	bottom: 0;
	left: 0;
	right: -30px;
}
	@media screen and (min-width: 1300px) {
	 .contactArea .ttl {font-size: 3.0rem;}
	}
.contactArea .ttl + p{margin-top: var(--spaceS);}
p + .link-btn-normal{margin-top: var(--spaceM)!important;}

/*=============================================================
 relatedArea
=============================================================*/
.relatedArea [class^="col-"]{margin-top: var(--spaceM);}
.relatedArea .ttl{
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.6;
	padding-bottom: 10px;
	position: relative;
}
.relatedArea .ttl::after{
	content: '';
	height: 2px;
	background-color: #222;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}
.related-list li{
	display: flex;
	flex-direction: column;
}
.related-list a{
	display: flex;
	flex: 1;
	flex-direction: column-reverse;
	font-weight: 500;
	line-height: 1.4;
	position: relative;
	padding-bottom: .25em;
  background: linear-gradient(#0072bf, #0072bf) 0 100%/0 2px no-repeat;
  transition: background .6s;
  text-decoration: none;
}
.related-list a:hover{
	background-size: 100% 2px;
}
.related-list a span{display: block;}
.related-list a span.img{
	overflow: hidden;
  border-radius: 10px;	
	aspect-ratio: 386/158;	
}
.related-list a span.img img{
	height: auto;
	transition: all .3s ease;
}
.related-list a:hover{text-decoration: none;}
.related-list a:hover span.img img{transform: scale(1.2);}
.related-list a span.txt{
	display: flex;
  flex: 1;
  align-items: center;
	position: relative;
	min-height: 48px;
	padding: 5px 40px 5px 0;
	box-sizing: border-box;
	border-bottom: 2px solid #fff;
	color: #222;
}
.related-list a span.txt::after{
	content: '';
	background: url("../img/icon-arw-button.svg") center center no-repeat;
	background-size: 24px 24px;
	width: 24px;
	height: 24px;
	position: absolute;
	top: calc(50% - 12px);
	right: 5px;
	transition: all .1s;
}
.related-list a:hover span.txt::after{right: 0;}

.col-3.related-list.related-txt,
.col-3.related-list.related-txt>li{margin-top: 0;}
.related-list.related-txt li{
	position: relative;
	padding: 20px 0;
}
.related-list.related-txt li::after{
	content: '';
	border-bottom: 1px dotted var(--bdrColor);
	position: absolute;
	bottom: 0;
	left: 0;
	right: -16%;
}
.related-list.related-txt li:nth-child(3n)::after{right: 0;}
.related-list.related-txt a{background: linear-gradient(#0072bf, #0072bf) 0 100%/0 1px no-repeat;}
.related-list.related-txt a:hover{background-size: 100% 1px;}


/*=============================================================
 irUtilityArea
=============================================================*/
#irUtilityArea{margin-bottom: 20px;}
#irUtilityMenu{
	width:333px;
	display: flex;
	align-items: center;
	margin-left: auto;
}

/* irbtnPrint */
#irbtnPrint{
	font-size:16px;
	line-height:1.2;
}
#irbtnPrint a{
	display:block;
	max-width: 100px;
	padding:11px 18px;
	background: #EFF5F7;
	border-radius: 10px;
	border: 1px solid var(--linkColor);
	position:relative;
	transition: all .3s;
}
#irbtnPrint a:hover{
	background: #fff;
}
#irbtnPrint a span{
	display: block;
	position:relative;
	padding-left: 26px;
	box-sizing: border-box;
}
#irbtnPrint a span:before{
	content:"";
	background:url("/eng/shared/img/irUtilityMenu-icon-print.svg") no-repeat center center;
	background-size:18px 18px;
	width:18px;
	height:18px;
	position:absolute;
	top:2px;
	left:0;
}
/* irfontSize */
#irfontSize{
	display: flex;
	align-items: center;
	margin-left: auto;
}
#irfontSize dt{
	margin-right:5px;
}
#irfontSize ul{
	display: flex;
	align-items: center;
}
#irfontSize li{}
#irfontSize li a{
	line-height: 1.2;
	display: block;
	text-align:center;
	cursor:pointer;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
	padding:11px 10px;
	background: #EFF5F7;
	border-radius: 10px;
	border: 1px solid var(--linkColor);	
	background-color: var(--bgColorLightBlue);
	box-sizing: border-box;
	position: relative;
}
#irfontSize li:first-child a{border-radius: 10px 0 0 10px;}
#irfontSize li:last-child a{border-radius: 0 10px 10px 0;border-left: none;}
#irfontSize li.act a{
	color:var(--linkColor);
	font-weight: 700;
	cursor: default;
}
#irfontSize li.act a span{position: relative;}
#irfontSize li.act a span::after{
	content: '';
	height: 3px;
	width: 100%;
	position: absolute;
	bottom: -2px;
	left: 0;
	right: 0;
	background: var(--linkColor);
}
/*=============================================================
 mainImg
=============================================================*/
/* mainImg
-------------------------------------------------------------*/
#mainImg{position: relative;}
#mainImg figure img{max-width: 100%;width: 100%;}
#mainImg .lead{
	font-size: calc(2.0rem + (24 - 20) * ((100vw - 768px) / (1300 - 768)));
	line-height: 1.6;
	position: absolute;
	left: 30%;
	top: 50%;
	transform: translate(0, -50%);
	padding: 0 20px 0 0;
	box-sizing: border-box;
}
	@media screen and (min-width: 1300px) {
	 #mainImg .lead {font-size: 2.4rem;}
	}

/*=============================================================
 form
=============================================================*/
input,
textarea,
select{font:inherit;}
input[type="submit"],
input[type="image"],
input[type="radio"],
input[type="checkbox"],
label,
button{cursor:pointer;}
input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"]{
	box-sizing: border-box;
	vertical-align:middle;
	height:60px;
	padding:0 8px;
	border:1px solid #b0bec5;
	border-radius:0;
	-webkit-appearance:none;
}
input[type="image"]{border-radius:0;}
textarea{
	box-sizing:border-box;
	width:100%;
	padding:5px 8px;
	vertical-align:middle;
	border:1px solid #b0bec5;
}
select{
	box-sizing:border-box;
	min-width:195px;
	padding:7px 15px;
	border:1px solid #b0bec5;
	border-radius:0;
}
/* form-radio */
.form-radio{line-height:1.4;}
.form-radio input{display:none;}
.form-radio label{
	display:inline-block;
	padding:5px 0 5px 24px;
	position:relative;
}
.form-radio label::before{
	content:"";
	background:#fff;
	box-sizing:border-box;
	width:18px;
	height:18px;
	margin-top:-9px;
	border:1px solid #aaa;
	border-radius:18px;
	position:absolute;
	top:50%;
	left:0;
}
.form-radio input[type="radio"]:checked + label::after{
	content:"";
	background:#03a9f4;
	width:10px;
	height:10px;
	margin-top:-5px;
	border-radius:10px;
	position:absolute;
	top:50%;
	left:4px;
}
/* form-checkbox */
.form-checkbox{line-height:1.4;}
.form-checkbox input{display:none;}
.form-checkbox label{
	display:inline-block;
	padding:5px 0 5px 24px;
	position:relative;
}
.form-checkbox label::before{
	content:"";
	background:#fff;
	width:18px;
	height:18px;
	margin-top:-10px;
	border:1px solid #aaa;
	position:absolute;
	top:50%;
	left:0;
}
#inquiry .form-checkbox label::before {
    top: 23px;
}
#inquiry .form-checkbox input[type="checkbox"]:checked + label::after {
    top: 25px;
    left: 4px;
}
.form-checkbox input[type="checkbox"]:checked + label::before{background:#03a9f4;}
.form-checkbox input[type="checkbox"]:checked + label::after{
	content:"\2713";
	color:#fff!important;
	font-size:1.5rem;
	font-weight:bold;
	line-height:18px;
	text-align:center;
	width:18px;
	height:18px;
	margin-top:-10px;
	position:absolute;
	top:50%;
	left:0;
}
/* form-boxSearch */
.form-boxSearch{position:relative;}
.form-boxSearch input.text{
	font-size:1.6rem;
	background-color:#eceff1;
	box-sizing:border-box;
	display:block;
	vertical-align:middle;
	height:36px;
	width:100%;
	padding:1px 40px 1px 8px;
	border:none;
}
.form-boxSearch input.btn{
	background-color:#0072bf;
	width:36px;
	height:36px;
	position:absolute;
	top:0;
	right:0;
}
.form-boxSearch .mf_finder_searchBox_items{padding:0;}
.form-boxSearch .mf_finder_searchBox{margin:0;}
.form-boxSearch .mf_finder_searchBox_query_input{
	font-size:1.6rem;
	background-color:#eceff1;
	box-sizing:border-box;
	display:block;
	vertical-align:middle;
	height:36px;
	min-height:0;
	width:100%;
	padding:1px 40px 1px 8px;
	border:none;
}
.form-boxSearch .mf_finder_searchBox_submit{
	background:#0072bf url(../img/btn_search.png) no-repeat center center;
	background-size:contain;
	width:36px;
	height:36px;
}
.mf_finder_searchBox_items .mf_finder_searchBox_submit:hover{background-color:#5f95cd;}
.mf_finder_searchBox_submit::before{display:none;}

/* form-btnSubmit */
.form-btnSubmit{
	text-align:center;
	margin-top:30px;
}
.form-btnSubmit .btn{
	color:#fff;
	font-size:1.8rem;
	line-height:40px;
	background-color:#0072bf;
	box-sizing:border-box;
	display:inline-block;
	min-width:160px;
	padding:0 10px;
	border:1px solid #90a4ae;
	border-radius:0;
	-webkit-appearance:none;
}
.form-btnSubmit .btn:hover{background-color:#455a64;}

/* form-textNote */
.form-textNote{
	display:inline-block;
	padding-top:6px;
}
/* suggest */
.form-setSuggest{position:relative;}
#suggest{
	font-size:90%;
	background-color:#fff;
	box-sizing:border-box;
	text-align:left;
	width:100%;
	border:1px solid #bbb;
	position:absolute;
	z-index:99999;
}
#suggest div{
	/*white-space:nowrap;*/
	padding:2px 5px;
	display:block;
	overflow:hidden;
}
#suggest div.select{
	color:#fff;
	background-color:#cfd7db;
}
#suggest div.over{background-color:#cfd7db;}

/*=============================================================
 marker
=============================================================*/
mark{background-color: #a2eaff;}

/*=============================================================================
 english
=============================================================================*/
/*=============================================================
 text
=============================================================*/
/* ttl-h1
-------------------------------------------------------------*/
.ttl-h1{font-size: calc(2.4rem + (36 - 24) * ((100vw - 768px) / (1300 - 768)));}
	@media screen and (min-width: 1300px) {
	 .ttl-h1 {font-size: 3.6rem;}
	}
/* ttl-h4
-------------------------------------------------------------*/
.ttl-h4{font-weight: 700;}
/* lead
-------------------------------------------------------------*/
.lead{font-size: calc(1.6rem + (2.0 - 1.6) * ((100vw - 768px) / (1300 - 768)));}
	@media screen and (min-width: 1300px) {
	 .lead {font-size: 2.0rem;}
	}

/* atn
--------------------------------------------------------------*/
.text-atn:not(ul):not(ol),
.text-atn li{
	text-indent:-1.0em;
	margin-left:1.0em;
}
.text-atnNum:not(ul):not(ol),
.text-atnNum li{
	text-indent:-2.0em;
	margin-left:2.0em;
}
/*=====================================================================
 link
=====================================================================*/
/* link-btn
-------------------------------------------------------------*/
.link-btn-door>* p,
.link-btn-normal>* p{font-weight: normal;}

/*=====================================================================
 col
=====================================================================*/
/* col-date
-------------------------------------------------------------*/
.col-2.col-date>*:first-child{width: 160px;}
.col-2.col-date>*:last-child{width: calc((100% - 180px));}

/*=============================================================
 list
=============================================================*/
.list-num.cnt{counter-reset: count 0;}
.list-num.cnt li::before {
	content: counter(count) ". ";
	counter-increment: count 1;	
}

/*=============================================================
 irUtilityArea
=============================================================*/
/* irbtnPrint */
#irbtnPrint{
	font-size:16px;
	line-height:1.2;
	letter-spacing: inherit;
}
#irbtnPrint a{padding:11px 15px;}
#irbtnPrint a span{font-weight: 500;}
#irbtnPrint a span:before{background:url("/eng/shared/img/irUtilityMenu-icon-print.svg") no-repeat center center;}

/* irfontSize */
#irfontSize ul>li{width: 68px;}
#irfontSize li a{
	font-size: 15px;
	padding:11px 3px;
}

/*=============================================================
 marker
=============================================================*/
mark{background-color: #a2eaff;}

/*=============================================================
 sitemap
=============================================================*/
#sitemap .lm-parent>ul{
	padding-left: 24px;
	margin: 10px 0 0 0;
}
#sitemap .lm-parent>ul>li{margin-top: 10px;}

/*=============================================================
 404
=============================================================*/
.error404 #pageBody{background-color: #f7f7f9;}
.error404 #contents.contentsInner{
	background: url(/img/404_p01.jpg) no-repeat right bottom;
	background-size: auto 344px;
	box-sizing: border-box;
	min-height: 344px;
	padding-bottom: 70px;	
}
.error404 .errorCon h1{
	font-size: 2.0rem;
	line-height: 1.4;
	margin-bottom: 10px;
}
.error404 #footer{margin-top: 0;}

@media only screen and (min-width:768px) {
/*=============================================================
 inquiry
=============================================================*/
#inquiry .form-flow li:first-child .num::after {
    right: -94px !important;
}
#inquiry .form-flow li:nth-child(2) .num::after {
    right: -100px !important;
}
}


/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Tablet (portrait)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (min-width:768px) and (max-width:1023px){
/*=============================================================
 base Layout
=============================================================*/
/* contentsArea
-------------------------------------------------------------*/
.setLocalMenu{
	flex-direction:column;
}
/* contents
-------------------------------------------------------------*/
#contents{
	margin-top:20px;
	padding-bottom:50px;
}
.setLocalMenu #contents{width:100%;}
	
/* contentsInner
-------------------------------------------------------------*/
.contentsInner{padding: 0 4.8%;}
	
	
/*=============================================================
 localMenu
=============================================================*/
#localMenu{
	width:100%;
	max-width:none;
	margin:0 0 50px;
}
	
/*=============================================================
 mainImg
=============================================================*/
/* mainImg
-------------------------------------------------------------*/
#mainImg .lead {font-size: 1.8rem;}	
}



/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:767px){
/*=============================================================
 base Layout
=============================================================*/
/* pageBody
-------------------------------------------------------------*/
#pageBody{
	padding-top:60px;/*描画時のヘッダーの高さ用*/
}	
/* contentsArea
-------------------------------------------------------------*/
.setLocalMenu{
	flex-direction:column;
}
/* contents
-------------------------------------------------------------*/
#contents{
	margin-top:20px;
	padding-bottom:50px;
}
.setLocalMenu #contents{width:100%;}
	
/* contentsInner
-------------------------------------------------------------*/
.contentsInner{padding: 0 4.8%;}

/* section
-------------------------------------------------------------*/
section + section,
.section + .section,
section + .section
.section + section{margin-top: var(--spaceL);}
section>section + section{margin-top: var(--spaceM);}
	
#ir.library section + section{margin-top: var(--spaceLL);}
#ir.library section>section + section{margin-top: var(--spaceL);}
	
/* topicPath
-------------------------------------------------------------*/
#topicPathArea{padding:10px 0 18px;}
	
/*=============================================================
 localMenu
=============================================================*/
#localMenu{
	width: 109.6%;
	max-width: none;
	margin: 0 -4.8% 50px;
}
#ir #localMenu .subNav{
	margin-top: 10px;
	display: flex;
	flex-wrap: wrap;
	grid-area: 20px;
	padding: 0 10px;
	box-sizing: border-box;
}
#ir #localMenu .subNav>* + *{margin-top: 0px;}
#ir #localMenu .subNav>*{
	width: calc((100% - 20px) / 2);
	margin-top: 20px;
}
/*=============================================================
 text
=============================================================*/
/* base setting
-------------------------------------------------------------*/
[class^="ttl-"]{
	padding-top:.5em;
	margin-bottom: 26px;
}
	
/* ttl-h1
-------------------------------------------------------------*/
.ttl-h1{font-size: 2.4rem;}
.ttl-h1  + [class^="col-"],
.ttl-h1 + p{margin-top: var(--spaceM);}
	
/* ttl-h2
-------------------------------------------------------------*/
.ttl-h2{font-size: 2.2rem;}

/* ttl-h3
-------------------------------------------------------------*/
.ttl-h3{font-size: 2.0rem;}

/* ttl-h4
-------------------------------------------------------------*/
.ttl-h4{
	font-size: 1.9rem;
	line-height: 1.4;		
}
	
/* ttl-h5
-------------------------------------------------------------*/
.ttl-h5{} 
	
/* lead
-------------------------------------------------------------*/
.lead{
	font-size: 1.8rem;
	line-height: 1.6;
	}	
	
/*=============================================================
 list
=============================================================*/
.list->*{margin-top: 0!important;}
	
/*=====================================================================
 col
=====================================================================*/
/* base setting
-------------------------------------------------------------*/
[class^="col-"]+[class^="col-"]{margin-top: var(--spaceM);}	
[class^="col-"]{
	display:flex;
	flex-wrap:wrap; 
	column-gap: 5%
}
[class^="col-"]>*,.col-2>*:nth-child(-n+2), .col-3>*:nth-child(-n+3), .col-4>*:nth-child(-n+4),
.col-3.linkBtn-area>*{
	width: 100%;
	margin-top: var(--spaceS);
}
[class^="col-"].sp-col-2{column-gap: 4.4%;}
.sp-col-2>*:nth-child(n){width:calc((99.9999% - 4.4%) / 2);}
	
/* col-clm
-------------------------------------------------------------*/
.col-2.col-clm2-1>*:nth-child(n),
.col-2.col-clm1-2>*:nth-child(n),
.col-2.col-clm3-1>*:nth-child(n),
.col-2.col-clm1-3>*:nth-child(n){width:100%;}
[class^="col-"].flx-row-re {flex-direction: row;}
[class^="col-"] .flx-order-1{order: 1;}
[class^="col-"] .flx-order-2{order: 2;}
	
.col-2.col-clm2-1>figure,
.col-2.col-clm1-2>figure,
.col-2.col-clm3-1>figure,
.col-2.col-clm1-3>figure{
	padding: 0 28px;
	box-sizing: border-box;
}
	
/* col-date
-------------------------------------------------------------*/
.col-2.col-date{}
.col-2.col-date>*:first-child,
.col-2.col-date>*:last-child{
	width: 100%;
	margin-top: 0;
}
/* col-ir-libray
-------------------------------------------------------------*/
.col-2.col-ir-libray{display: block;}
.col-2.col-ir-libray>*{margin-top: 0!important;}	
.col-2.col-ir-libray>*:nth-child(odd){margin-top: var(--spaceS)!important;}
.col-2.col-ir-libray dt,
.col-2.col-ir-libray dd{width: 100%;}
.col-2.col-ir-libray dd{margin-top: 5px!important;}	
.col-2.col-ir-libray .link-arw>* + *{}
	
/* col-adress
-------------------------------------------------------------*/
.col-2.col-adress{display: block;}
.col-2.col-adress dt,
.col-2.col-adress dd{width: 100%;}
.col-2.col-adress dd{margin-top: 5px!important;}	
	
	
/* linkBtn-area	
-------------------------------------------------------------*/
.linkBtn-area>*:nth-child(n+2){margin-top: var(--spaceM);}	
	
/*=====================================================================
 link
=====================================================================*/
/* base setting
-------------------------------------------------------------*/
[class*="link-btn-"] a{padding: 16px 60px 16px 10px;}
[class*="link-btn-"] a span{font-size: 1.8rem;}
[class*="link-btn-"] a span + p{margin-top: 6px;}
p[class*="link-btn-"] + p,
[class*="link-btn-"]>li{margin-top: 1.0em!important;}

/* link-btn
-------------------------------------------------------------*/
.link-btn-normal a{padding: 16px 54px 16px 20px;}
.link-btn-normal a span{font-size: 1.6rem;}


/* link-btn-door
-------------------------------------------------------------*/
.link-btn-door a span{font-size: 1.8rem;}
	
/* link-ac
-------------------------------------------------------------*/
/*.link-ac{display: block;}*/
.link-ac>*{
	padding: 2px 20px 2px 0;
}

/* link-arw
-------------------------------------------------------------*/
.link-arw a, a.link-arw{}

/*=============================================================
 thum-area
=============================================================*/
.thum-area a{}
.thum-area a .thum-link-ttl{
	font-size: 18px;
	min-height: 70px;
	padding: 12px 50px 12px 12px;
}
.thum-area a .thum-link-ttl::after{
	bottom:calc((50% - 12px));
}
.thum-area .textSizeS{font-weight: 400;}
	
	
/*=====================================================================
 box-color
=====================================================================*/
/* base setting
-------------------------------------------------------------*/
[class^="box-color"] + [class^="box-bdr"]{margin-top: var(--spaceS);}
[class^="box-color"],[class^="box-bdr"]{padding: 16px;}	

[class^="box-color"] .ttl{margin-bottom: var(--spaceS);}

	
/* contact-box-bdr-col
-------------------------------------------------------------*/
.contact-box-bdr-col{
	display: block;
	margin-top: 20px;
}
.contact-box-bdr-col .link-btn-normal::after{content: none;}
.contact-box-bdr-col>*{width: 100%;}	
.contact-box-bdr-col>* + *{margin-top: 20px;}
.contact-box-bdr-col .link-btn-normal {padding: 0;}
	
	
/* full-left-box
-------------------------------------------------------------*/
.full-left-box{padding: 40px 0;}
.full-left-box::after{
	content: "";
	position: absolute;
	top: 0;
	right: -100vw;
	width: calc(100vw + 100%);
	height: 100%;
	background-color: var(--bgColorLightBlue);;
	z-index: -1;
}
.full-left-box .link-btn-normal.red a{width: 100%;}
	
/*=============================================================
 table
=============================================================*/
/* table-default
--------------------------------------------------------------*/
.table-default th,
.table-default td{padding:5px;}

/* table-normal
--------------------------------------------------------------*/
.table-default.table-normal th,
.table-default.table-normal td{
	padding:10px 0;
	vertical-align :inherit;
	display: block;
	width: 100%;
}
.table-default.table-normal td{padding-top: 0;}	
.table-default.table-normal th{
	border-bottom: none;
	padding-bottom: 5px;
}
/* table-default no-wrap
--------------------------------------------------------------*/
.table-default.no-wrap {
    white-space: normal!important;
    width: 700px;
}
.table-default.no-wrap thead th:first-of-type {
    width: 13em;
}
	
/* sp-table-scroll 
--------------------------------------------------------------*/
.sp-table-scroll{
	overflow:auto;
	/*white-space:nowrap;*/
	-webkit-overflow-scrolling:touch;
	position:relative;
	z-index:2;
	margin-right: -4.9%;
}
.sp-table-scroll>table{margin-bottom:5px;}
.sp-table-scroll .cellFix{
	position:-webkit-sticky;
	position:sticky;
	top:0;
	left:0;
	z-index:1;
}
html:not(.win) .sp-table-scroll::-webkit-scrollbar,
html:not(.win) .table-container::-webkit-scrollbar {
    height: 5px;
}

html:not(.win) .sp-table-scroll::-webkit-scrollbar-track,
html:not(.win) .table-container::-webkit-scrollbar-track {
    background: #e3e4e5;
    border-radius: 10px;
}

html:not(.win) .sp-table-scroll::-webkit-scrollbar-thumb,
html:not(.win) .table-container::-webkit-scrollbar-thumb {
    background: #84919d;
    border-radius: 10px;
}
.sp-table-scroll .arwSc{
	background:url(../img/table-arw.svg) no-repeat 0 0/auto 100px;
	width:60px;
	height:100px;
	margin:-50px 0 0 -50px;
	position:absolute;
	top:50%;
	left:50%;
	z-index:2;
	opacity:0;
	visibility:hidden;
	overflow:hidden;
	transition:opacity 0.2s ease-out;
}
.sp-table-scroll.caption-add .arwSc{margin-top: -30px;}
.sp-table-scroll .table-container {
	overflow-x: auto;
}
.sp-table-scroll .table-caption{font-size: 1.6rem;}		
.sp-table-scroll .table-caption{
	display: block;
	margin-bottom: 0;
}
.sp-table-scroll .table-caption .ttl {
	position: absolute;
	top: 0;
	left: 0;
	padding: 5px;
	z-index: 1;
}
.sp-table-scroll .table-caption .unit{
	position: absolute;
	top: 0;
	right: 0;
	padding: 5px 4.8% 5px 5px;
	z-index: 1;
}
.sp-table-scroll.sc .arwSc {
	opacity: 0.4;
	visibility: visible;
}
/* table-default */
.sp-table-scroll .table-default{
	border-collapse:separate;
	border-spacing:0;
	white-space: nowrap;
}
.sp-table-scroll .table-default th,
.sp-table-scroll .table-default td{border-left:none;}
.sp-table-scroll.caption-add .table-default{margin-top: 40px;}
.sp-table-scroll.caption-add.add2L .table-default{margin-top: 60px;}
.sp-table-scroll.caption-add.add3L .table-default{margin-top: 80px;}	
.sp-table-scroll .table-default .cellFix{min-width: 5em;;}
.sp-table-scroll .table-default .w7em{min-width: 7em;}	
.sp-table-scroll .table-default .w9em{min-width: 9em;}		
.sp-table-unit{}
#rd.announcements .table-default,
#sustainability .table-default{
	white-space: normal!important;
	width: 800px;
}
#rd.announcements .table-default a{word-break: break-all;}	
#rd.announcements .table-default thead th{width: 300px!important;}
	
	
/* sp-table-block
--------------------------------------------------------------*/
.sp-table-block th,
.sp-table-block td{
	white-space:normal !important;
	display:block;
	width:auto !important;
	border-right:none !important;
	border-left:none !important;
}
.sp-table-scroll.w800 .table-default{
	white-space:inherit!important;
	width: 800px;
}
/*=============================================================
 toggle
=============================================================*/
/* box-toggle
--------------------------------------------------------------*/ 

	
/*=============================================================
 tab
=============================================================*/
/* tab-set
--------------------------------------------------------------*/
/* tab-btn */
.tab-btn{flex-wrap:wrap;}
	
/*=============================================================
 contactArea
=============================================================*/
.contactArea .ttl{font-size: 2.0rem;}
.contactArea .ttl::after{right: 0;}
p + .link-btn-normal{margin-top: var(--spaceS)!important;}
	
/*=============================================================
 relatedArea
=============================================================*/
	
/*=============================================================
 irUtilityArea
=============================================================*/
#irUtilityArea{display: none;}
	
/*=============================================================
 mainImg
=============================================================*/
/* mainImg
-------------------------------------------------------------*/
#mainImg{position: static;}	
#mainImg .lead {
	position: static;
	top:inherit;
	left: inherit;
	transform: none;	
	font-size: 1.6rem;
	padding: 0;
	margin-top: 20px;
	margin-left: 0!important;
}	
#mainImg figure{
	overflow: hidden;
	height: 180px;
	width: 100%;
	position: relative;
}
#mainImg figure img{
	height: 100%;
	width: auto;
	object-fit: cover;
	object-position: 0 0;
}	
	
/* form
-------------------------------------------------------------*/
/* form-radio */
.form-radio label{padding:4px 0 4px 18px;}
.form-radio label::before{
	width:14px;
	height:14px;
	margin-top:-7px;
}
.form-radio input[type="radio"]:checked + label::after{
	width:8px;
	height:8px;
	margin-top:-4px;
	left:3px;
}
/* form-checkbox */
.form-checkbox label{padding:4px 0 4px 18px;}
.form-checkbox label::before,
.form-checkbox input[type="checkbox"]:checked + label::after{
	width:14px;
	height:14px;
	margin-top:-8px;
}
.form-checkbox input[type="checkbox"]:checked + label::after{font-size:1.4rem;top: 20px;}
#inquiry .form-checkbox input[type="checkbox"]:checked + label::after {
    top: 23px;
}
	
/* suggest */
#suggest div{font-size:1.1rem;}
	
/*=============================================================
 404
=============================================================*/
.error404 #pageBody{background-color: #f7f7f9;}
.error404 #contents.contentsInner{
	background: url(/img/404_p01.jpg) no-repeat center bottom;
  padding-bottom: 340px;
	background-size: 400px auto;
}
	
}

